\hypertarget{list_8h}{
\section{Referência ao ficheiro list.h}
\label{list_8h}\index{list.h@{list.h}}
}
\subsection*{Estruturas de Dados}
\begin{CompactItemize}
\item 
struct \hyperlink{structlist__head}{list\_\-head}
\end{CompactItemize}
\subsection*{Macros}
\begin{CompactItemize}
\item 
\#define \hyperlink{list_8h_4642d4b7df28478bb762fe43c85b5c63}{LIST\_\-HEAD\_\-INIT}(name)~\{ \&(name), \&(name) \}
\item 
\#define \hyperlink{list_8h_42f0e72af970a790b60a740af8c9ecd0}{LIST\_\-HEAD}(name)~struct \hyperlink{structlist__head}{list\_\-head} name = LIST\_\-HEAD\_\-INIT(name)
\item 
\#define \hyperlink{list_8h_0ffe9d28c36d7b018a9cfae33bae45c0}{INIT\_\-LIST\_\-HEAD}(ptr)
\item 
\#define \hyperlink{list_8h_26c976b7f654e70df318c1843e5094de}{list\_\-entry}(ptr, type, member)~((type $\ast$)((char $\ast$)(ptr)-(unsigned long)(\&((type $\ast$)0) $\rightarrow$ member)))
\begin{CompactList}\small\item\em list\_\-entry - get the struct for this entry : the \&struct \hyperlink{structlist__head}{list\_\-head} pointer. \item\end{CompactList}\item 
\#define \hyperlink{list_8h_b8b24e6660ab3760c923e4b4db3fa502}{list\_\-for\_\-each}(pos, head)
\begin{CompactList}\small\item\em list\_\-for\_\-each - iterate over a list : the \&struct \hyperlink{structlist__head}{list\_\-head} to use as a loop counter. \item\end{CompactList}\item 
\#define \hyperlink{list_8h_19fc06b83f3502a83ce566b8887e6aec}{list\_\-for\_\-each\_\-prev}(pos, head)
\begin{CompactList}\small\item\em list\_\-for\_\-each\_\-prev - iterate over a list backwards : the \&struct \hyperlink{structlist__head}{list\_\-head} to use as a loop counter. \item\end{CompactList}\item 
\#define \hyperlink{list_8h_9e4b9328744994b9d3878f5dad75c09f}{list\_\-for\_\-each\_\-safe}(pos, n, head)
\begin{CompactList}\small\item\em list\_\-for\_\-each\_\-safe - iterate over a list safe against removal of list entry : the \&struct \hyperlink{structlist__head}{list\_\-head} to use as a loop counter. \item\end{CompactList}\item 
\#define \hyperlink{list_8h_9b782fefb5ab71ce9762182e45a615e1}{list\_\-for\_\-each\_\-entry}(pos, head, member)
\begin{CompactList}\small\item\em list\_\-for\_\-each\_\-entry - iterate over list of given type : the type $\ast$ to use as a loop counter. \item\end{CompactList}\item 
\#define \hyperlink{list_8h_c3f72d6bd5144c7970824813810d2da1}{list\_\-for\_\-each\_\-entry\_\-safe}(pos, n, head, member)
\begin{CompactList}\small\item\em list\_\-for\_\-each\_\-entry\_\-safe - iterate over list of given type safe against removal of list entry : the type $\ast$ to use as a loop counter. \item\end{CompactList}\end{CompactItemize}
\subsection*{Funções}
\begin{CompactItemize}
\item 
static void \hyperlink{list_8h_8a28f150a191624bf6923a48cdace7e3}{\_\-\_\-list\_\-add} (struct \hyperlink{structlist__head}{list\_\-head} $\ast$new, struct \hyperlink{structlist__head}{list\_\-head} $\ast$prev, struct \hyperlink{structlist__head}{list\_\-head} $\ast$next)
\item 
static void \hyperlink{list_8h_0373c4b3c8ce51a451a569ad978b32e1}{list\_\-add} (struct \hyperlink{structlist__head}{list\_\-head} $\ast$new, struct \hyperlink{structlist__head}{list\_\-head} $\ast$head)
\begin{CompactList}\small\item\em list\_\-add - add a new entry : new entry to be added : list head to add it after \item\end{CompactList}\item 
static void \hyperlink{list_8h_588bec046f1e9797b33a5c5ab250f447}{list\_\-add\_\-tail} (struct \hyperlink{structlist__head}{list\_\-head} $\ast$new, struct \hyperlink{structlist__head}{list\_\-head} $\ast$head)
\begin{CompactList}\small\item\em list\_\-add\_\-tail - add a new entry : new entry to be added : list head to add it before \item\end{CompactList}\item 
static void \hyperlink{list_8h_24b474717d65a296695e8b79b4adefda}{\_\-\_\-list\_\-del} (struct \hyperlink{structlist__head}{list\_\-head} $\ast$prev, struct \hyperlink{structlist__head}{list\_\-head} $\ast$next)
\item 
static void \hyperlink{list_8h_b1708206f0f7e0a56550b35372203ba5}{list\_\-del} (struct \hyperlink{structlist__head}{list\_\-head} $\ast$entry)
\begin{CompactList}\small\item\em list\_\-del - deletes entry from list. \item\end{CompactList}\item 
static void \hyperlink{list_8h_e1cde0f50b85945cfff23be4fc1586f4}{list\_\-del\_\-init} (struct \hyperlink{structlist__head}{list\_\-head} $\ast$entry)
\begin{CompactList}\small\item\em list\_\-del\_\-init - deletes entry from list and reinitialize it. \item\end{CompactList}\item 
static void \hyperlink{list_8h_ee8df43e41969c2272acfd6ed6e75d4c}{list\_\-move} (struct \hyperlink{structlist__head}{list\_\-head} $\ast$list, struct \hyperlink{structlist__head}{list\_\-head} $\ast$head)
\begin{CompactList}\small\item\em list\_\-move - delete from one list and add as another's head : the entry to move : the head that will precede our entry \item\end{CompactList}\item 
static void \hyperlink{list_8h_1c5ac6a6b04a03f5782e818daacf96e9}{list\_\-move\_\-tail} (struct \hyperlink{structlist__head}{list\_\-head} $\ast$list, struct \hyperlink{structlist__head}{list\_\-head} $\ast$head)
\begin{CompactList}\small\item\em list\_\-move\_\-tail - delete from one list and add as another's tail : the entry to move : the head that will follow our entry \item\end{CompactList}\item 
static int \hyperlink{list_8h_0fce12be81e8f2677b3a272fee1652ac}{list\_\-empty} (struct \hyperlink{structlist__head}{list\_\-head} $\ast$head)
\begin{CompactList}\small\item\em list\_\-empty - tests whether a list is empty : the list to test. \item\end{CompactList}\item 
static void \hyperlink{list_8h_25979c80a2d71dd02ada121a46c71a59}{\_\-\_\-list\_\-splice} (struct \hyperlink{structlist__head}{list\_\-head} $\ast$list, struct \hyperlink{structlist__head}{list\_\-head} $\ast$head)
\item 
static void \hyperlink{list_8h_2c4399cfbde5e5d5eddf2e13c97bd5d5}{list\_\-splice} (struct \hyperlink{structlist__head}{list\_\-head} $\ast$list, struct \hyperlink{structlist__head}{list\_\-head} $\ast$head)
\begin{CompactList}\small\item\em list\_\-splice - join two lists : the new list to add. \item\end{CompactList}\item 
static void \hyperlink{list_8h_948b15519bb72e3d42f3e56975580d30}{list\_\-splice\_\-init} (struct \hyperlink{structlist__head}{list\_\-head} $\ast$list, struct \hyperlink{structlist__head}{list\_\-head} $\ast$head)
\begin{CompactList}\small\item\em list\_\-splice\_\-init - join two lists and reinitialise the emptied list. \item\end{CompactList}\end{CompactItemize}


\subsection{Documentação das macros}
\hypertarget{list_8h_0ffe9d28c36d7b018a9cfae33bae45c0}{
\index{list.h@{list.h}!INIT\_\-LIST\_\-HEAD@{INIT\_\-LIST\_\-HEAD}}
\index{INIT\_\-LIST\_\-HEAD@{INIT\_\-LIST\_\-HEAD}!list.h@{list.h}}
\subsubsection[INIT\_\-LIST\_\-HEAD]{\setlength{\rightskip}{0pt plus 5cm}\#define INIT\_\-LIST\_\-HEAD(ptr)}}
\label{list_8h_0ffe9d28c36d7b018a9cfae33bae45c0}


\textbf{Valor:}

\begin{Code}\begin{verbatim}do { \
        (ptr)->next = (ptr); (ptr)->prev = (ptr); \
} while (0)
\end{verbatim}
\end{Code}


Definido na linha 30 do ficheiro list.h.

Referenciado por hash\_\-entry\_\-init(), list\_\-del\_\-init() e list\_\-splice\_\-init().\hypertarget{list_8h_26c976b7f654e70df318c1843e5094de}{
\index{list.h@{list.h}!list\_\-entry@{list\_\-entry}}
\index{list\_\-entry@{list\_\-entry}!list.h@{list.h}}
\subsubsection[list\_\-entry]{\setlength{\rightskip}{0pt plus 5cm}\#define list\_\-entry(ptr, \/  type, \/  member)~((type $\ast$)((char $\ast$)(ptr)-(unsigned long)(\&((type $\ast$)0) $\rightarrow$ member)))}}
\label{list_8h_26c976b7f654e70df318c1843e5094de}


list\_\-entry - get the struct for this entry : the \&struct \hyperlink{structlist__head}{list\_\-head} pointer. 

: the type of the struct this is embedded in. : the name of the list\_\-struct within the struct. 

Definido na linha 188 do ficheiro list.h.

Referenciado por hash\_\-table\_\-lookup\_\-key() e hash\_\-table\_\-lookup\_\-key\_\-safe().\hypertarget{list_8h_b8b24e6660ab3760c923e4b4db3fa502}{
\index{list.h@{list.h}!list\_\-for\_\-each@{list\_\-for\_\-each}}
\index{list\_\-for\_\-each@{list\_\-for\_\-each}!list.h@{list.h}}
\subsubsection[list\_\-for\_\-each]{\setlength{\rightskip}{0pt plus 5cm}\#define list\_\-for\_\-each(pos, \/  head)}}
\label{list_8h_b8b24e6660ab3760c923e4b4db3fa502}


\textbf{Valor:}

\begin{Code}\begin{verbatim}for (pos = (head)->next; pos != (head); \
                pos = pos->next)
\end{verbatim}
\end{Code}
list\_\-for\_\-each - iterate over a list : the \&struct \hyperlink{structlist__head}{list\_\-head} to use as a loop counter. 

: the head for your list. 

Definido na linha 196 do ficheiro list.h.

Referenciado por hash\_\-table\_\-lookup\_\-key() e hash\_\-table\_\-lookup\_\-key\_\-safe().\hypertarget{list_8h_9b782fefb5ab71ce9762182e45a615e1}{
\index{list.h@{list.h}!list\_\-for\_\-each\_\-entry@{list\_\-for\_\-each\_\-entry}}
\index{list\_\-for\_\-each\_\-entry@{list\_\-for\_\-each\_\-entry}!list.h@{list.h}}
\subsubsection[list\_\-for\_\-each\_\-entry]{\setlength{\rightskip}{0pt plus 5cm}\#define list\_\-for\_\-each\_\-entry(pos, \/  head, \/  member)}}
\label{list_8h_9b782fefb5ab71ce9762182e45a615e1}


\textbf{Valor:}

\begin{Code}\begin{verbatim}for (pos = list_entry((head)->next, typeof(*pos), member);      \
             &pos->member != (head);                                    \
             pos = list_entry(pos->member.next, typeof(*pos), member))
\end{verbatim}
\end{Code}
list\_\-for\_\-each\_\-entry - iterate over list of given type : the type $\ast$ to use as a loop counter. 

: the head for your list. : the name of the list\_\-struct within the struct. 

Definido na linha 224 do ficheiro list.h.\hypertarget{list_8h_c3f72d6bd5144c7970824813810d2da1}{
\index{list.h@{list.h}!list\_\-for\_\-each\_\-entry\_\-safe@{list\_\-for\_\-each\_\-entry\_\-safe}}
\index{list\_\-for\_\-each\_\-entry\_\-safe@{list\_\-for\_\-each\_\-entry\_\-safe}!list.h@{list.h}}
\subsubsection[list\_\-for\_\-each\_\-entry\_\-safe]{\setlength{\rightskip}{0pt plus 5cm}\#define list\_\-for\_\-each\_\-entry\_\-safe(pos, \/  n, \/  head, \/  member)}}
\label{list_8h_c3f72d6bd5144c7970824813810d2da1}


\textbf{Valor:}

\begin{Code}\begin{verbatim}for (pos = list_entry((head)->next, typeof(*pos), member),      \
                n = list_entry(pos->member.next, typeof(*pos), member); \
             &pos->member != (head);                                    \
             pos = n, n = list_entry(n->member.next, typeof(*n), member))
\end{verbatim}
\end{Code}
list\_\-for\_\-each\_\-entry\_\-safe - iterate over list of given type safe against removal of list entry : the type $\ast$ to use as a loop counter. 

\par
: another type $\ast$ to use as temporary storage : the head for your list. : the name of the list\_\-struct within the struct. 

Definido na linha 236 do ficheiro list.h.\hypertarget{list_8h_19fc06b83f3502a83ce566b8887e6aec}{
\index{list.h@{list.h}!list\_\-for\_\-each\_\-prev@{list\_\-for\_\-each\_\-prev}}
\index{list\_\-for\_\-each\_\-prev@{list\_\-for\_\-each\_\-prev}!list.h@{list.h}}
\subsubsection[list\_\-for\_\-each\_\-prev]{\setlength{\rightskip}{0pt plus 5cm}\#define list\_\-for\_\-each\_\-prev(pos, \/  head)}}
\label{list_8h_19fc06b83f3502a83ce566b8887e6aec}


\textbf{Valor:}

\begin{Code}\begin{verbatim}for (pos = (head)->prev; pos != (head); \
                pos = pos->prev)
\end{verbatim}
\end{Code}
list\_\-for\_\-each\_\-prev - iterate over a list backwards : the \&struct \hyperlink{structlist__head}{list\_\-head} to use as a loop counter. 

: the head for your list. 

Definido na linha 204 do ficheiro list.h.\hypertarget{list_8h_9e4b9328744994b9d3878f5dad75c09f}{
\index{list.h@{list.h}!list\_\-for\_\-each\_\-safe@{list\_\-for\_\-each\_\-safe}}
\index{list\_\-for\_\-each\_\-safe@{list\_\-for\_\-each\_\-safe}!list.h@{list.h}}
\subsubsection[list\_\-for\_\-each\_\-safe]{\setlength{\rightskip}{0pt plus 5cm}\#define list\_\-for\_\-each\_\-safe(pos, \/  n, \/  head)}}
\label{list_8h_9e4b9328744994b9d3878f5dad75c09f}


\textbf{Valor:}

\begin{Code}\begin{verbatim}for (pos = (head)->next, n = pos->next; pos != (head); \
                pos = n, n = pos->next)
\end{verbatim}
\end{Code}
list\_\-for\_\-each\_\-safe - iterate over a list safe against removal of list entry : the \&struct \hyperlink{structlist__head}{list\_\-head} to use as a loop counter. 

\par
: another \&struct \hyperlink{structlist__head}{list\_\-head} to use as temporary storage : the head for your list. 

Definido na linha 214 do ficheiro list.h.\hypertarget{list_8h_42f0e72af970a790b60a740af8c9ecd0}{
\index{list.h@{list.h}!LIST\_\-HEAD@{LIST\_\-HEAD}}
\index{LIST\_\-HEAD@{LIST\_\-HEAD}!list.h@{list.h}}
\subsubsection[LIST\_\-HEAD]{\setlength{\rightskip}{0pt plus 5cm}\#define LIST\_\-HEAD(name)~struct {\bf list\_\-head} name = LIST\_\-HEAD\_\-INIT(name)}}
\label{list_8h_42f0e72af970a790b60a740af8c9ecd0}




Definido na linha 27 do ficheiro list.h.\hypertarget{list_8h_4642d4b7df28478bb762fe43c85b5c63}{
\index{list.h@{list.h}!LIST\_\-HEAD\_\-INIT@{LIST\_\-HEAD\_\-INIT}}
\index{LIST\_\-HEAD\_\-INIT@{LIST\_\-HEAD\_\-INIT}!list.h@{list.h}}
\subsubsection[LIST\_\-HEAD\_\-INIT]{\setlength{\rightskip}{0pt plus 5cm}\#define LIST\_\-HEAD\_\-INIT(name)~\{ \&(name), \&(name) \}}}
\label{list_8h_4642d4b7df28478bb762fe43c85b5c63}




Definido na linha 25 do ficheiro list.h.

\subsection{Documentação das funções}
\hypertarget{list_8h_8a28f150a191624bf6923a48cdace7e3}{
\index{list.h@{list.h}!\_\-\_\-list\_\-add@{\_\-\_\-list\_\-add}}
\index{\_\-\_\-list\_\-add@{\_\-\_\-list\_\-add}!list.h@{list.h}}
\subsubsection[\_\-\_\-list\_\-add]{\setlength{\rightskip}{0pt plus 5cm}static void \_\-\_\-list\_\-add (struct {\bf list\_\-head} $\ast$ {\em new}, \/  struct {\bf list\_\-head} $\ast$ {\em prev}, \/  struct {\bf list\_\-head} $\ast$ {\em next})\hspace{0.3cm}{\tt  \mbox{[}inline, static\mbox{]}}}}
\label{list_8h_8a28f150a191624bf6923a48cdace7e3}




Definido na linha 40 do ficheiro list.h.

Referências list\_\-head::next e list\_\-head::prev.

Referenciado por list\_\-add() e list\_\-add\_\-tail().\hypertarget{list_8h_24b474717d65a296695e8b79b4adefda}{
\index{list.h@{list.h}!\_\-\_\-list\_\-del@{\_\-\_\-list\_\-del}}
\index{\_\-\_\-list\_\-del@{\_\-\_\-list\_\-del}!list.h@{list.h}}
\subsubsection[\_\-\_\-list\_\-del]{\setlength{\rightskip}{0pt plus 5cm}static void \_\-\_\-list\_\-del (struct {\bf list\_\-head} $\ast$ {\em prev}, \/  struct {\bf list\_\-head} $\ast$ {\em next})\hspace{0.3cm}{\tt  \mbox{[}inline, static\mbox{]}}}}
\label{list_8h_24b474717d65a296695e8b79b4adefda}




Definido na linha 82 do ficheiro list.h.

Referências list\_\-head::next e list\_\-head::prev.

Referenciado por list\_\-del(), list\_\-del\_\-init(), list\_\-move() e list\_\-move\_\-tail().\hypertarget{list_8h_25979c80a2d71dd02ada121a46c71a59}{
\index{list.h@{list.h}!\_\-\_\-list\_\-splice@{\_\-\_\-list\_\-splice}}
\index{\_\-\_\-list\_\-splice@{\_\-\_\-list\_\-splice}!list.h@{list.h}}
\subsubsection[\_\-\_\-list\_\-splice]{\setlength{\rightskip}{0pt plus 5cm}static void \_\-\_\-list\_\-splice (struct {\bf list\_\-head} $\ast$ {\em list}, \/  struct {\bf list\_\-head} $\ast$ {\em head})\hspace{0.3cm}{\tt  \mbox{[}inline, static\mbox{]}}}}
\label{list_8h_25979c80a2d71dd02ada121a46c71a59}




Definido na linha 142 do ficheiro list.h.

Referências list\_\-head::next e list\_\-head::prev.

Referenciado por list\_\-splice() e list\_\-splice\_\-init().\hypertarget{list_8h_0373c4b3c8ce51a451a569ad978b32e1}{
\index{list.h@{list.h}!list\_\-add@{list\_\-add}}
\index{list\_\-add@{list\_\-add}!list.h@{list.h}}
\subsubsection[list\_\-add]{\setlength{\rightskip}{0pt plus 5cm}static void list\_\-add (struct {\bf list\_\-head} $\ast$ {\em new}, \/  struct {\bf list\_\-head} $\ast$ {\em head})\hspace{0.3cm}{\tt  \mbox{[}inline, static\mbox{]}}}}
\label{list_8h_0373c4b3c8ce51a451a569ad978b32e1}


list\_\-add - add a new entry : new entry to be added : list head to add it after 

Insert a new entry after the specified head. This is good for implementing stacks. 

Definido na linha 57 do ficheiro list.h.

Referências \_\-\_\-list\_\-add() e list\_\-head::next.

Referenciado por hash\_\-table\_\-insert(), hash\_\-table\_\-insert\_\-safe() e list\_\-move().\hypertarget{list_8h_588bec046f1e9797b33a5c5ab250f447}{
\index{list.h@{list.h}!list\_\-add\_\-tail@{list\_\-add\_\-tail}}
\index{list\_\-add\_\-tail@{list\_\-add\_\-tail}!list.h@{list.h}}
\subsubsection[list\_\-add\_\-tail]{\setlength{\rightskip}{0pt plus 5cm}static void list\_\-add\_\-tail (struct {\bf list\_\-head} $\ast$ {\em new}, \/  struct {\bf list\_\-head} $\ast$ {\em head})\hspace{0.3cm}{\tt  \mbox{[}inline, static\mbox{]}}}}
\label{list_8h_588bec046f1e9797b33a5c5ab250f447}


list\_\-add\_\-tail - add a new entry : new entry to be added : list head to add it before 

Insert a new entry before the specified head. This is useful for implementing queues. 

Definido na linha 70 do ficheiro list.h.

Referências \_\-\_\-list\_\-add() e list\_\-head::prev.

Referenciado por list\_\-move\_\-tail().\hypertarget{list_8h_b1708206f0f7e0a56550b35372203ba5}{
\index{list.h@{list.h}!list\_\-del@{list\_\-del}}
\index{list\_\-del@{list\_\-del}!list.h@{list.h}}
\subsubsection[list\_\-del]{\setlength{\rightskip}{0pt plus 5cm}static void list\_\-del (struct {\bf list\_\-head} $\ast$ {\em entry})\hspace{0.3cm}{\tt  \mbox{[}inline, static\mbox{]}}}}
\label{list_8h_b1708206f0f7e0a56550b35372203ba5}


list\_\-del - deletes entry from list. 

: the element to delete from the list. Note: list\_\-empty on entry does not return true after this, the entry is in an undefined state. 

Definido na linha 93 do ficheiro list.h.

Referências \_\-\_\-list\_\-del(), list\_\-head::next e list\_\-head::prev.\hypertarget{list_8h_e1cde0f50b85945cfff23be4fc1586f4}{
\index{list.h@{list.h}!list\_\-del\_\-init@{list\_\-del\_\-init}}
\index{list\_\-del\_\-init@{list\_\-del\_\-init}!list.h@{list.h}}
\subsubsection[list\_\-del\_\-init]{\setlength{\rightskip}{0pt plus 5cm}static void list\_\-del\_\-init (struct {\bf list\_\-head} $\ast$ {\em entry})\hspace{0.3cm}{\tt  \mbox{[}inline, static\mbox{]}}}}
\label{list_8h_e1cde0f50b85945cfff23be4fc1586f4}


list\_\-del\_\-init - deletes entry from list and reinitialize it. 

: the element to delete from the list. 

Definido na linha 104 do ficheiro list.h.

Referências \_\-\_\-list\_\-del(), INIT\_\-LIST\_\-HEAD, list\_\-head::next e list\_\-head::prev.

Referenciado por hash\_\-table\_\-del\_\-key() e hash\_\-table\_\-del\_\-key\_\-safe().\hypertarget{list_8h_0fce12be81e8f2677b3a272fee1652ac}{
\index{list.h@{list.h}!list\_\-empty@{list\_\-empty}}
\index{list\_\-empty@{list\_\-empty}!list.h@{list.h}}
\subsubsection[list\_\-empty]{\setlength{\rightskip}{0pt plus 5cm}static int list\_\-empty (struct {\bf list\_\-head} $\ast$ {\em head})\hspace{0.3cm}{\tt  \mbox{[}inline, static\mbox{]}}}}
\label{list_8h_0fce12be81e8f2677b3a272fee1652ac}


list\_\-empty - tests whether a list is empty : the list to test. 



Definido na linha 137 do ficheiro list.h.

Referências list\_\-head::next.

Referenciado por list\_\-splice() e list\_\-splice\_\-init().\hypertarget{list_8h_ee8df43e41969c2272acfd6ed6e75d4c}{
\index{list.h@{list.h}!list\_\-move@{list\_\-move}}
\index{list\_\-move@{list\_\-move}!list.h@{list.h}}
\subsubsection[list\_\-move]{\setlength{\rightskip}{0pt plus 5cm}static void list\_\-move (struct {\bf list\_\-head} $\ast$ {\em list}, \/  struct {\bf list\_\-head} $\ast$ {\em head})\hspace{0.3cm}{\tt  \mbox{[}inline, static\mbox{]}}}}
\label{list_8h_ee8df43e41969c2272acfd6ed6e75d4c}


list\_\-move - delete from one list and add as another's head : the entry to move : the head that will precede our entry 



Definido na linha 115 do ficheiro list.h.

Referências \_\-\_\-list\_\-del(), list\_\-add(), list\_\-head::next e list\_\-head::prev.\hypertarget{list_8h_1c5ac6a6b04a03f5782e818daacf96e9}{
\index{list.h@{list.h}!list\_\-move\_\-tail@{list\_\-move\_\-tail}}
\index{list\_\-move\_\-tail@{list\_\-move\_\-tail}!list.h@{list.h}}
\subsubsection[list\_\-move\_\-tail]{\setlength{\rightskip}{0pt plus 5cm}static void list\_\-move\_\-tail (struct {\bf list\_\-head} $\ast$ {\em list}, \/  struct {\bf list\_\-head} $\ast$ {\em head})\hspace{0.3cm}{\tt  \mbox{[}inline, static\mbox{]}}}}
\label{list_8h_1c5ac6a6b04a03f5782e818daacf96e9}


list\_\-move\_\-tail - delete from one list and add as another's tail : the entry to move : the head that will follow our entry 



Definido na linha 126 do ficheiro list.h.

Referências \_\-\_\-list\_\-del(), list\_\-add\_\-tail(), list\_\-head::next e list\_\-head::prev.\hypertarget{list_8h_2c4399cfbde5e5d5eddf2e13c97bd5d5}{
\index{list.h@{list.h}!list\_\-splice@{list\_\-splice}}
\index{list\_\-splice@{list\_\-splice}!list.h@{list.h}}
\subsubsection[list\_\-splice]{\setlength{\rightskip}{0pt plus 5cm}static void list\_\-splice (struct {\bf list\_\-head} $\ast$ {\em list}, \/  struct {\bf list\_\-head} $\ast$ {\em head})\hspace{0.3cm}{\tt  \mbox{[}inline, static\mbox{]}}}}
\label{list_8h_2c4399cfbde5e5d5eddf2e13c97bd5d5}


list\_\-splice - join two lists : the new list to add. 

: the place to add it in the first list. 

Definido na linha 160 do ficheiro list.h.

Referências \_\-\_\-list\_\-splice() e list\_\-empty().\hypertarget{list_8h_948b15519bb72e3d42f3e56975580d30}{
\index{list.h@{list.h}!list\_\-splice\_\-init@{list\_\-splice\_\-init}}
\index{list\_\-splice\_\-init@{list\_\-splice\_\-init}!list.h@{list.h}}
\subsubsection[list\_\-splice\_\-init]{\setlength{\rightskip}{0pt plus 5cm}static void list\_\-splice\_\-init (struct {\bf list\_\-head} $\ast$ {\em list}, \/  struct {\bf list\_\-head} $\ast$ {\em head})\hspace{0.3cm}{\tt  \mbox{[}inline, static\mbox{]}}}}
\label{list_8h_948b15519bb72e3d42f3e56975580d30}


list\_\-splice\_\-init - join two lists and reinitialise the emptied list. 

: the new list to add. : the place to add it in the first list.

The list at  is reinitialised 

Definido na linha 173 do ficheiro list.h.

Referências \_\-\_\-list\_\-splice(), INIT\_\-LIST\_\-HEAD e list\_\-empty().